package com.youmu.shop.product.vo;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class ProductBean implements Serializable {
    /**
     * 商品主键
     * 表字段 : xx_product.id
     */
    private Long id;

    /**
     * 商品名
     * 表字段 : xx_product.name
     */
    private String name;

    /**
     * 商品全名
     * 表字段 : xx_product.full_name
     */
    private String fullName;

    /**
     * 商品英文名
     * 表字段 : xx_product.english_name
     */
    private String englishName;

    /**
     * 商品图片链接地址
     * 表字段 : xx_product.image
     */
    private String image;

    /**
     * 商品介绍
     * 表字段 : xx_product.introduction
     */
    private String introduction;

    /**
     * 商品原料
     * 表字段 : xx_product.material
     */
    private String material;

    /**
     * 配送时间说明
     * 表字段 : xx_product.send_time_intro
     */
    private String sendTimeIntro;

    /**
     * 配送说明
     * 表字段 : xx_product.send_intro
     */
    private String sendIntro;

    /**
     * 食用存储
     * 表字段 : xx_product.food_storage
     */
    private String foodStorage;

    /**
     * 注意事项
     * 表字段 : xx_product.announcement
     */
    private String announcement;

    /**
     * 商品分类主键
     * 表字段 : xx_product.product_category
     */
    private Long productCategory;

    /**
     * 商品价格
     * 表字段 : xx_product.price
     */
    private BigDecimal price;

    /**
     * 商品成本价
     * 表字段 : xx_product.cost
     */
    private BigDecimal cost;

    /**
     * 商品市场价
     * 表字段 : xx_product.market_price
     */
    private BigDecimal marketPrice;

    /**
     * 通用size，若是表示蛋糕size则使用规格表中的size
     * 表字段 : xx_product.size
     */
    private String size;

    /**
     * 商品重量
     * 表字段 : xx_product.weight
     */
    private Integer weight;

    /**
     * 商品单位
     * 表字段 : xx_product.unit
     */
    private String unit;

    /**
     * 提前多久预定
     * 表字段 : xx_product.notice
     */
    private String notice;

    /**
     * 商品编号
     * 表字段 : xx_product.sn
     */
    private String sn;

    /**
     * 商品创建时间
     * 表字段 : xx_product.create_date
     */
    private Date createDate;

    /**
     * 商品最新修改时间
     * 表字段 : xx_product.modify_date
     */
    private Date modifyDate;

    /**
     * 商品库存
     * 表字段 : xx_product.stock
     */
    private Integer stock;

    /**
     * 商品已分配库存
     * 表字段 : xx_product.allocated_stock
     */
    private Integer allocatedStock;

    /**
     * 商品库存备注
     * 表字段 : xx_product.stock_memo
     */
    private String stockMemo;

    /**
     * 商品赠送积分
     * 表字段 : xx_product.point
     */
    private Long point;

    /**
     * 商品是否上架（0:下架 ， 1:上架）
     * 表字段 : xx_product.is_marketable
     */
    private Boolean isMarketable;

    /**
     * 商品是否列出
     * 表字段 : xx_product.is_list
     */
    private Boolean isList;

    /**
     * 商品是否置顶
     * 表字段 : xx_product.is_top
     */
    private Boolean isTop;

    /**
     * 商品是否为赠品
     * 表字段 : xx_product.is_gift
     */
    private Boolean isGift;

    /**
     * 商品是否为新品
     * 表字段 : xx_product.is_new
     */
    private Boolean isNew;

    /**
     * 是否为蛋糕（0:常温 ， 1:蛋糕）
     * 表字段 : xx_product.is_cake
     */
    private Boolean isCake;

    /**
     * 商品备注
     * 表字段 : xx_product.memo
     */
    private String memo;

    /**
     * 商品排序位
     * 表字段 : xx_product.orders
     */
    private Integer orders;

    /**
     * 商品搜索关键词
     * 表字段 : xx_product.keyword
     */
    private String keyword;

    /**
     * 商品页面标题
     * 表字段 : xx_product.seo_title
     */
    private String seoTitle;

    /**
     * 商品页面关键词
     * 表字段 : xx_product.seo_keywords
     */
    private String seoKeywords;

    /**
     * 商品页面描述
     * 表字段 : xx_product.seo_description
     */
    private String seoDescription;

    /**
     * 商品评分
     * 表字段 : xx_product.score
     */
    private Float score;

    /**
     * 商品总评分
     * 表字段 : xx_product.total_score
     */
    private Long totalScore;

    /**
     * 商品评分数
     * 表字段 : xx_product.score_count
     */
    private Long scoreCount;

    /**
     * 商品点击数
     * 表字段 : xx_product.hits
     */
    private Long hits;

    /**
     * 商品周点击数
     * 表字段 : xx_product.week_hits
     */
    private Long weekHits;

    /**
     * 商品月点击数
     * 表字段 : xx_product.month_hits
     */
    private Long monthHits;

    /**
     * 商品销量
     * 表字段 : xx_product.sales
     */
    private Long sales;

    /**
     * 商品周销量
     * 表字段 : xx_product.week_sales
     */
    private Long weekSales;

    /**
     * 商品月销量
     * 表字段 : xx_product.month_sales
     */
    private Long monthSales;

    /**
     * 周点击数更新日期
     * 表字段 : xx_product.week_hits_date
     */
    private Date weekHitsDate;

    /**
     * 月点击数更新日期
     * 表字段 : xx_product.month_hits_date
     */
    private Date monthHitsDate;

    /**
     * 周销量更新日期
     * 表字段 : xx_product.week_sales_date
     */
    private Date weekSalesDate;

    /**
     * 月销量更新日期
     * 表字段 : xx_product.month_sales_date
     */
    private Date monthSalesDate;

    /**
     * 货品主键
     * 表字段 : xx_product.goods
     */
    private Long goods;

    /**
     * 品牌主键
     * 表字段 : xx_product.brand
     */
    private Long brand;

    /**
     * 门店主键
     * 表字段 : xx_product.shop
     */
    private Long shop;

    /**
     * 
     * 表字段 : xx_product.is_packable
     */
    private Boolean isPackable;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table xx_product
     *
     * @mbg.generated
     */
    private static final long serialVersionUID = 1L;
    
	public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public String getFullName() {
        return fullName;
    }

    public void setFullName(String fullName) {
        this.fullName = fullName == null ? null : fullName.trim();
    }

    public String getEnglishName() {
        return englishName;
    }

    public void setEnglishName(String englishName) {
        this.englishName = englishName == null ? null : englishName.trim();
    }

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image == null ? null : image.trim();
    }

    public String getIntroduction() {
        return introduction;
    }

    public void setIntroduction(String introduction) {
        this.introduction = introduction == null ? null : introduction.trim();
    }

    public String getMaterial() {
        return material;
    }

    public void setMaterial(String material) {
        this.material = material == null ? null : material.trim();
    }

    public String getSendTimeIntro() {
        return sendTimeIntro;
    }

    public void setSendTimeIntro(String sendTimeIntro) {
        this.sendTimeIntro = sendTimeIntro == null ? null : sendTimeIntro.trim();
    }

    public String getSendIntro() {
        return sendIntro;
    }

    public void setSendIntro(String sendIntro) {
        this.sendIntro = sendIntro == null ? null : sendIntro.trim();
    }

    public String getFoodStorage() {
        return foodStorage;
    }

    public void setFoodStorage(String foodStorage) {
        this.foodStorage = foodStorage == null ? null : foodStorage.trim();
    }

    public String getAnnouncement() {
        return announcement;
    }

    public void setAnnouncement(String announcement) {
        this.announcement = announcement == null ? null : announcement.trim();
    }

    public Long getProductCategory() {
        return productCategory;
    }

    public void setProductCategory(Long productCategory) {
        this.productCategory = productCategory;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getCost() {
        return cost;
    }

    public void setCost(BigDecimal cost) {
        this.cost = cost;
    }

    public BigDecimal getMarketPrice() {
        return marketPrice;
    }

    public void setMarketPrice(BigDecimal marketPrice) {
        this.marketPrice = marketPrice;
    }

    public String getSize() {
        return size;
    }

    public void setSize(String size) {
        this.size = size == null ? null : size.trim();
    }

    public Integer getWeight() {
        return weight;
    }

    public void setWeight(Integer weight) {
        this.weight = weight;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit == null ? null : unit.trim();
    }

    public String getNotice() {
        return notice;
    }

    public void setNotice(String notice) {
        this.notice = notice == null ? null : notice.trim();
    }

    public String getSn() {
        return sn;
    }

    public void setSn(String sn) {
        this.sn = sn == null ? null : sn.trim();
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getModifyDate() {
        return modifyDate;
    }

    public void setModifyDate(Date modifyDate) {
        this.modifyDate = modifyDate;
    }

    public Integer getStock() {
        return stock;
    }

    public void setStock(Integer stock) {
        this.stock = stock;
    }

    public Integer getAllocatedStock() {
        return allocatedStock;
    }

    public void setAllocatedStock(Integer allocatedStock) {
        this.allocatedStock = allocatedStock;
    }

    public String getStockMemo() {
        return stockMemo;
    }

    public void setStockMemo(String stockMemo) {
        this.stockMemo = stockMemo == null ? null : stockMemo.trim();
    }

    public Long getPoint() {
        return point;
    }

    public void setPoint(Long point) {
        this.point = point;
    }

    public Boolean getIsMarketable() {
        return isMarketable;
    }

    public void setIsMarketable(Boolean isMarketable) {
        this.isMarketable = isMarketable;
    }

    public Boolean getIsList() {
        return isList;
    }

    public void setIsList(Boolean isList) {
        this.isList = isList;
    }

    public Boolean getIsTop() {
        return isTop;
    }

    public void setIsTop(Boolean isTop) {
        this.isTop = isTop;
    }

    public Boolean getIsGift() {
        return isGift;
    }

    public void setIsGift(Boolean isGift) {
        this.isGift = isGift;
    }

    public Boolean getIsNew() {
        return isNew;
    }

    public void setIsNew(Boolean isNew) {
        this.isNew = isNew;
    }

    public Boolean getIsCake() {
        return isCake;
    }

    public void setIsCake(Boolean isCake) {
        this.isCake = isCake;
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo == null ? null : memo.trim();
    }

    public Integer getOrders() {
        return orders;
    }

    public void setOrders(Integer orders) {
        this.orders = orders;
    }

    public String getKeyword() {
        return keyword;
    }

    public void setKeyword(String keyword) {
        this.keyword = keyword == null ? null : keyword.trim();
    }

    public String getSeoTitle() {
        return seoTitle;
    }

    public void setSeoTitle(String seoTitle) {
        this.seoTitle = seoTitle == null ? null : seoTitle.trim();
    }

    public String getSeoKeywords() {
        return seoKeywords;
    }

    public void setSeoKeywords(String seoKeywords) {
        this.seoKeywords = seoKeywords == null ? null : seoKeywords.trim();
    }

    public String getSeoDescription() {
        return seoDescription;
    }

    public void setSeoDescription(String seoDescription) {
        this.seoDescription = seoDescription == null ? null : seoDescription.trim();
    }

    public Float getScore() {
        return score;
    }

    public void setScore(Float score) {
        this.score = score;
    }

    public Long getTotalScore() {
        return totalScore;
    }

    public void setTotalScore(Long totalScore) {
        this.totalScore = totalScore;
    }

    public Long getScoreCount() {
        return scoreCount;
    }

    public void setScoreCount(Long scoreCount) {
        this.scoreCount = scoreCount;
    }

    public Long getHits() {
        return hits;
    }

    public void setHits(Long hits) {
        this.hits = hits;
    }

    public Long getWeekHits() {
        return weekHits;
    }

    public void setWeekHits(Long weekHits) {
        this.weekHits = weekHits;
    }

    public Long getMonthHits() {
        return monthHits;
    }

    public void setMonthHits(Long monthHits) {
        this.monthHits = monthHits;
    }

    public Long getSales() {
        return sales;
    }

    public void setSales(Long sales) {
        this.sales = sales;
    }

    public Long getWeekSales() {
        return weekSales;
    }

    public void setWeekSales(Long weekSales) {
        this.weekSales = weekSales;
    }

    public Long getMonthSales() {
        return monthSales;
    }

    public void setMonthSales(Long monthSales) {
        this.monthSales = monthSales;
    }

    public Date getWeekHitsDate() {
        return weekHitsDate;
    }

    public void setWeekHitsDate(Date weekHitsDate) {
        this.weekHitsDate = weekHitsDate;
    }

    public Date getMonthHitsDate() {
        return monthHitsDate;
    }

    public void setMonthHitsDate(Date monthHitsDate) {
        this.monthHitsDate = monthHitsDate;
    }

    public Date getWeekSalesDate() {
        return weekSalesDate;
    }

    public void setWeekSalesDate(Date weekSalesDate) {
        this.weekSalesDate = weekSalesDate;
    }

    public Date getMonthSalesDate() {
        return monthSalesDate;
    }

    public void setMonthSalesDate(Date monthSalesDate) {
        this.monthSalesDate = monthSalesDate;
    }

    public Long getGoods() {
        return goods;
    }

    public void setGoods(Long goods) {
        this.goods = goods;
    }

    public Long getBrand() {
        return brand;
    }

    public void setBrand(Long brand) {
        this.brand = brand;
    }

    public Long getShop() {
        return shop;
    }

    public void setShop(Long shop) {
        this.shop = shop;
    }

    public Boolean getIsPackable() {
        return isPackable;
    }

    public void setIsPackable(Boolean isPackable) {
        this.isPackable = isPackable;
    }
    
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", name=").append(name);
        sb.append(", fullName=").append(fullName);
        sb.append(", englishName=").append(englishName);
        sb.append(", image=").append(image);
        sb.append(", introduction=").append(introduction);
        sb.append(", material=").append(material);
        sb.append(", sendTimeIntro=").append(sendTimeIntro);
        sb.append(", sendIntro=").append(sendIntro);
        sb.append(", foodStorage=").append(foodStorage);
        sb.append(", announcement=").append(announcement);
        sb.append(", productCategory=").append(productCategory);
        sb.append(", price=").append(price);
        sb.append(", cost=").append(cost);
        sb.append(", marketPrice=").append(marketPrice);
        sb.append(", size=").append(size);
        sb.append(", weight=").append(weight);
        sb.append(", unit=").append(unit);
        sb.append(", notice=").append(notice);
        sb.append(", sn=").append(sn);
        sb.append(", createDate=").append(createDate);
        sb.append(", modifyDate=").append(modifyDate);
        sb.append(", stock=").append(stock);
        sb.append(", allocatedStock=").append(allocatedStock);
        sb.append(", stockMemo=").append(stockMemo);
        sb.append(", point=").append(point);
        sb.append(", isMarketable=").append(isMarketable);
        sb.append(", isList=").append(isList);
        sb.append(", isTop=").append(isTop);
        sb.append(", isGift=").append(isGift);
        sb.append(", isNew=").append(isNew);
        sb.append(", isCake=").append(isCake);
        sb.append(", memo=").append(memo);
        sb.append(", orders=").append(orders);
        sb.append(", keyword=").append(keyword);
        sb.append(", seoTitle=").append(seoTitle);
        sb.append(", seoKeywords=").append(seoKeywords);
        sb.append(", seoDescription=").append(seoDescription);
        sb.append(", score=").append(score);
        sb.append(", totalScore=").append(totalScore);
        sb.append(", scoreCount=").append(scoreCount);
        sb.append(", hits=").append(hits);
        sb.append(", weekHits=").append(weekHits);
        sb.append(", monthHits=").append(monthHits);
        sb.append(", sales=").append(sales);
        sb.append(", weekSales=").append(weekSales);
        sb.append(", monthSales=").append(monthSales);
        sb.append(", weekHitsDate=").append(weekHitsDate);
        sb.append(", monthHitsDate=").append(monthHitsDate);
        sb.append(", weekSalesDate=").append(weekSalesDate);
        sb.append(", monthSalesDate=").append(monthSalesDate);
        sb.append(", goods=").append(goods);
        sb.append(", brand=").append(brand);
        sb.append(", shop=").append(shop);
        sb.append(", isPackable=").append(isPackable);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}